Tajna aplikace

Otázka od: Josef Straka

7. 12. 2002 19:29

Prijemny den,
D5Prof W95OSR2+MSIE5.5

Delam takovy program, ktery bude sledovat, jake programy pouzivaji a jak
dlouho v nich pracuji uzivatele (treba hry v praci). Jde ale o to, aby ten
clovek nevedel, ze je meren. Proto ten program nesmi byt videt ve Start
liste. To delam pomoci teto procedury:

procedure TForm1.WndProc(var Msg : TMessage);
begin
  if (Msg.Msg = WM_SYSCOMMAND) and (Msg.WParam = SC_MINIMIZE) then
  begin
    Form1.Hide;
    Exit;
  end;
  inherited WndProc(Msg);
end;

Jde mi ale o to, abych se tam ja sam potom dostal. Nevim, jak pote ten
program zase vyvolat na obrazovku, treba po zadani nejakeho hesla. Myslel
jsem, ze by se dala osetrit jen jedna instance programu a pri pokusu o
spusteni druhe instance by vyskocilo okno s heslem a v pripade dobreho hesla
by se program zase objevil Form1.Visible:= True.
Nevim ale, jak na to, muzete mi pomoci.

Straka Josef
e-mail: strakajosef@quick.cz
www: http://strakaj.zde.cz

Odpovedá: David Kraina

7. 12. 2002 20:11

A co tak zkusit Form1.Show ???

> procedure TForm1.WndProc(var Msg : TMessage);
> begin
> if (Msg.Msg = WM_SYSCOMMAND) and (Msg.WParam = SC_MINIMIZE) then
> begin
> Form1.Hide;
> Exit;
> end;
> inherited WndProc(Msg);
> end;
>
> Jde mi ale o to, abych se tam ja sam potom dostal. Nevim, jak pote ten
> program zase vyvolat na obrazovku, treba po zadani nejakeho hesla. Myslel

Odpovedá: ing. Jan Fiala

7. 12. 2002 21:07

7.12.2002 Josef Straka:
> Prijemny den,
> D5Prof W95OSR2+MSIE5.5

> Delam takovy program, ktery bude sledovat, jake programy pouzivaji a jak
> dlouho v nich pracuji uzivatele (treba hry v praci). Jde ale o to, aby ten
> clovek nevedel, ze je meren. Proto ten program nesmi byt videt ve Start
> liste. To delam pomoci teto procedury:

> procedure TForm1.WndProc(var Msg : TMessage);
> begin
> if (Msg.Msg = WM_SYSCOMMAND) and (Msg.WParam = SC_MINIMIZE) then
> begin
> Form1.Hide;
> Exit;
> end;
> inherited WndProc(Msg);
> end;

> Jde mi ale o to, abych se tam ja sam potom dostal. Nevim, jak pote ten
> program zase vyvolat na obrazovku, treba po zadani nejakeho hesla. Myslel
> jsem, ze by se dala osetrit jen jedna instance programu a pri pokusu o
> spusteni druhe instance by vyskocilo okno s heslem a v pripade dobreho hesla
> by se program zase objevil Form1.Visible:= True.
> Nevim ale, jak na to, muzete mi pomoci.

Muzes si napsat jiny program, ktery mu jen posle zpravu a na zaklade
teto zpravy se program zobrazi.
Dalsim resenim je klavesova zkratka na urovni systemu, po ktere se
program opet objevi.

--
Jan Fiala
mailto:jan.fiala@iol.cz

Odpovedá: Josef Straka

11. 12. 2002 20:15

Prijemny den,
D5Prof W95OSR2+MSIE5.5

> > Delam takovy program, ktery bude sledovat, jake programy pouzivaji a jak
> > dlouho v nich pracuji uzivatele (treba hry v praci). Jde ale o to, aby
ten
> > clovek nevedel, ze je meren. Proto ten program nesmi byt videt ve Start
> > liste. To delam pomoci teto procedury:

 if (Msg.Msg = WM_SYSCOMMAND) and (Msg.WParam = SC_MINIMIZE) then
  Form1.Hide;
 inherited WndProc(Msg);

Nu a ted bych chtel z jine aplikace tuto dostat znovu na plochu:
Najdu to spravne okno, ale nevim, co mu mam poslat, aby se znovu
objevilo????
Takhle to umim zavrit.

procedure TForm1.Button1Click(Sender: TObject);
var hwnd:THandle;
begin
  hwnd:=FindWindow(nil,'Tajna aplikace');
  if hwnd<>0 then
  ShowMessage('mám ho');
  PostMessage(hwnd,WM_CLOSE,0,0);
end;

Jsem asi tupej, poradte tupounovi. Diky, Straka Josef.

Odpovedá: Ales Pavel

11. 12. 2002 20:47

No pepo, mas to v api knihovne,nezkousel jsem to ale melo by to byt.....
nejak takto?
 hwnd:=FindWindow(nil,'Tajna aplikace');
 if hwnd<>0 then
 ShowMessage('mám ho');
 ShowWindow(hwnd,SW_SHOWNORMAL);

mam toho tucha...zkus to...
Hezky den

Ales Pavel
TalpaSoft - software pro kazdeho
tel:0777/992792
web: http://Talpa.chytrak.cz
e-casopis: http://rozarkaweb.aktualne.cz

Odpovedá: Ales Pavel

11. 12. 2002 20:45


>
> if (Msg.Msg = WM_SYSCOMMAND) and (Msg.WParam = SC_MINIMIZE) then
> Form1.Hide;
> inherited WndProc(Msg);

Tak na tohle mi jednou Petr Vones rekl FUUUUJ TO JE PRASARNA 

Kdyz uz tak spis pomoci uzivatelsky definovane message kterou posles
woknu....
Hezky den

Ales Pavel
D6 Ent WXP
laik v profesionalnim kolotoci
http://talpa.chytrak.cz/